// components/custom02/custom02.js
import PubSub from 'pubsub-js'
Component({

  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    name:''
  },

  /**
   * 组件的方法列表
   */
  methods: {

	},
	
	// 组件生命周期函数声明对象
	lifetimes:{
		// 组件实例被创建好以后执行
		// 在created中不可以调用setData函数，可以给组件添加一些自定义的属性，可以通过this的方式进行添加
		created(){
      // 新版本可以进行修改，老版本修改后没反应
      // this.setData({
      //   name:'jerry'
      // })
      // 可以给组件添加一些自定义的属性，可以通过this的方式进行添加
      // this.test = '测试 '
			// console.log("🥉小程序组件 - created");
		},
		// 组件被初始化完毕，模板解析完成，已经把组件挂载到页面上
    // 一般页面的交互会在 attached 钩子函数中进行实现
		attached(){
      // console.log(this.test);

      // this.setData({
      //   name:'jerry'
      // })

      // subscribe 订阅、监听自定义的事件
      // 1：需要订阅、监听的自定义事件名称
      // 2：回调函数，回调函数有两个参数
      //    2.1  meg：自定义事件的名称
      //    2.2  data：传递过来的数据
      PubSub.subscribe("myevent",(meg,data) => {
        console.log(data)
        this.setData({
          name:data
        })
      })
			console.log("🥉小程序组件 - attached");
		}, 
		// 组件被销毁时执行
		detached(){
			console.log("🥉小程序组件 - detached");
		},

  },
  // 组件所在页面的生命周期
  pageLifetimes:{
    // 监听组件所在的页面展示（后台切前台）状态
    show(){
      // console.log("组件被展示");
    },
    // 监听组件所在的页面隐藏（前台切后台、点击 tabBar）状态
    hide(){
      // console.log("组件被隐藏");
    },
  },
})